package com.xykj.enterprise.wechat.event.service.ext;

import com.xykj.enterprise.wechat.bean.ext.BaseResp;
import com.xykj.enterprise.wechat.bean.ext.contacts.member.ConvertToOpenIdVo;
import com.xykj.enterprise.wechat.bean.ext.contacts.member.ConvertToUserIdVo;
import com.xykj.enterprise.wechat.bean.ext.contacts.member.CreateUserResp;
import com.xykj.enterprise.wechat.bean.ext.contacts.member.GetActiveStatVo;
import com.xykj.enterprise.wechat.bean.ext.contacts.member.GetJoinQrcodeVo;
import com.xykj.enterprise.wechat.bean.ext.contacts.member.GetUserResp;
import com.xykj.enterprise.wechat.bean.ext.contacts.member.InviteVo;
import com.xykj.enterprise.wechat.bean.ext.contacts.member.SimpleUserListVo;
import com.xykj.enterprise.wechat.bean.ext.contacts.member.UserListVo;

import java.util.HashMap;
import java.util.Map;

/**
 * 通讯录管理-成员（企业微信api接口）
 */
public interface ContactsUserService {

    CreateUserResp createUser(String accessToken, String userid, String name, String mobile, String email, String department);

    GetUserResp getUser(String accessToken, String userid);

    BaseResp updateUser(String accessToken, HashMap<String, Object> params);

    BaseResp deleteUser(String accessToken, String userid);

    BaseResp batchDeleteUser(String accessToken, HashMap<String, Object> params);

    SimpleUserListVo simpleList(String accessToken, Integer department_id, Integer fetch_child);

    UserListVo userList(String accessToken, Integer department_id, Integer fetch_child);

    BaseResp authSucc(String accessToken, String userid);

    ConvertToOpenIdVo convertToOpenid(String accessToken, String userid);

    ConvertToUserIdVo convertToUserid(String accessToken, String openid);

    GetActiveStatVo getActiveStat(String accessToken, String date);

    GetJoinQrcodeVo getJoinQrcode(String accessToken, String size_type);

    InviteVo invite(String accessToken, Map<String, Object> params);
}
